home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / c / cug173.zip / CAP.LXI < prev    next >
Text File  |  1983-11-24  |  553b  |  35 lines

  1.  
  2. /*
  3.  * capitalise things
  4.  */
  5.  
  6. letter = [A-Z];
  7. open = ["'(];
  8. close = ["')];
  9. any = [\0-\377];
  10. eos = [.?!];
  11. %{
  12. extern  char    *token();
  13.  
  14. main()
  15. {
  16.         while (yylex())
  17.                 ;
  18. }
  19. %}
  20. %%
  21. %{
  22.         register char *cp;
  23.         char *et;
  24. %}
  25.  
  26. (".PP\n"|eos close* " "* ("  "|"\n"))open*letter {
  27.                 cp = token(&et);
  28.                 while (cp < et)
  29.                         putchar(*cp++);
  30.         }
  31. $letter {putchar(token(0)[1]);}
  32. letter  {putchar(*token(0)+'a'-'A');}
  33. any     {putchar(*token(0));}
  34. %%
  35.